
import request from '../../utils/request'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    qrimg: ''
  },

  //检测扫码状态接口 返回cookie
  async checkStatus(key) {
    let result = await request(`/login/qr/check?key=${key}&timestamp=${Date.now()}`,)
    console.log(result, 'checkStatus');
    return result
  },


  async getLoginStatus(cookie = ''){
    console.log(cookie,'cookie');
    return new Promise((resolve,reject)=>{
      wx.request({
          url:`http://localhost:3000/login/status?timestamp=${Date.now()}`,
          method: 'post',
          data: {
            cookie,
          },
          success:(res)=>{
              console.log('请求成功',res.data.data.profile);
              resolve(res.data)
              wx.setStorageSync('userInfo', JSON.stringify(res.data.data.profile))
          },
          fail:(err)=>{
              console.log('请求失败',err);
              reject(err)
          }
        })
  })
    //console.log(result, 'getLoginStatus');
    // //存储个人信息
     //wx.setStorageSync('userInfo', JSON.stringify(result.profile))
    
  },

  //获取 key ，二维码图片 
  async qrlogin() {
    //获取key
    let reskey = await request(`/login/qr/key?timestamp=${Date.now()}`)
    console.log(this.data.unikey,'unikey');

    //获取二维码
    let result2 = await request(`/login/qr/create?key=${reskey.data.unikey}&qrimg=true&timestamp=${Date.now()}`)
    console.log(result2,'qrlogin');
    //存下二维码
    this.setData({
      qrimg: result2.data.qrimg
    })

    let timer
    let timestamp = Date.now()
    //定时器查看
    timer = setInterval(async () => {
      //调用检测扫码状态接口
      const result3 = await this.checkStatus(reskey.data.unikey)
      console.log(result3, '3');

      if (result3.code === 800) {
        wx.showToast({
          title: '二维码已过期,请重新获取',
        })
        clearInterval(timer)
      }
      if (result3.code === 803) {
        // 这一步会返回cookie
        wx.showToast({
          title: '授权登录成功',
        })
        clearInterval(timer)

        wx.setStorage({
          key:'cookies',
          data:result3.cookie
        })
        await this.getLoginStatus(result3.cookie)

        
        //登录成功跳转到个人页面
        wx.reLaunch({
          url:'/pages/user/user'
        })
      }
    }, 3000)

  },




  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})